import 'package:get/route_manager.dart';
import 'package:share_fit/app/controllers/home/blood_glucose/binding.dart';
import 'package:share_fit/app/controllers/home/blood_glucose/view.dart';
import 'package:share_fit/app/controllers/home/blood_pressure/binding.dart';
import 'package:share_fit/app/controllers/home/blood_pressure/view.dart';
import 'package:share_fit/app/controllers/home/body_temperature/binding.dart';
import 'package:share_fit/app/controllers/home/body_temperature/view.dart';
import 'package:share_fit/app/controllers/home/cycle_calendar/cycle_calendar_setting/view.dart';
import 'package:share_fit/app/controllers/home/cycle_calendar/view.dart';
import 'package:share_fit/app/controllers/home/edit_widget/binding.dart';
import 'package:share_fit/app/controllers/home/edit_widget/view.dart';
import 'package:share_fit/app/controllers/home/exercise_records/binding.dart';
import 'package:share_fit/app/controllers/home/exercise_records/view.dart';
import 'package:share_fit/app/controllers/home/fatigue/binding.dart';
import 'package:share_fit/app/controllers/home/fatigue/view.dart';
import 'package:share_fit/app/controllers/home/heart_rate/binding.dart';
import 'package:share_fit/app/controllers/home/heart_rate/view.dart';
import 'package:share_fit/app/controllers/home/met/binding.dart';
import 'package:share_fit/app/controllers/home/met/view.dart';
import 'package:share_fit/app/controllers/home/sleep/awake/view.dart';
import 'package:share_fit/app/controllers/home/sleep/binding.dart';
import 'package:share_fit/app/controllers/home/sleep/deep_sleep/view.dart';
import 'package:share_fit/app/controllers/home/sleep/duration/view.dart';
import 'package:share_fit/app/controllers/home/sleep/light_sleep/view.dart';
import 'package:share_fit/app/controllers/home/sleep/nap/view.dart';
import 'package:share_fit/app/controllers/home/sleep/rem/view.dart';
import 'package:share_fit/app/controllers/home/sleep/view.dart';
import 'package:share_fit/app/controllers/home/spo2/binding.dart';
import 'package:share_fit/app/controllers/home/spo2/view.dart';
import 'package:share_fit/app/controllers/home/stress/binding.dart';
import 'package:share_fit/app/controllers/home/stress/view.dart';
import 'package:share_fit/app/controllers/home/weather/binding.dart';
import 'package:share_fit/app/controllers/home/weather/view.dart';
import 'package:share_fit/app/controllers/home/weather_location_switch/binding.dart';
import 'package:share_fit/app/controllers/home/weather_location_switch/view.dart';

class HomeRoutes {

  static const String editWidgetPage = '/home/widgets';
  static const String weatherPage = '/home/weather';
  static const String weatherLocationPage = '/home/weather/location';
  static const String exerciseRecordsPage = '/home/exercise/records';
  static const String stressRecordsPage = '/home/stress/records';
  static const String cycleCalendarPage = '/home/cycleCalendar';
  static const String cycleCalendarSettingPage = '/home/cycleCalendar/setting';

  static String sleepPage = '/home/sleep';
  static String durationSleepPage = '/home/sleep/duration';
  static String deepSleepPage = '/home/sleep/deep';
  static String lightSleepPage = '/home/sleep/light';
  static String remPage = '/home/sleep/rem';
  static String awakePage = '/home/sleep/awake';
  static String napPage = '/home/sleep/nap';


  static List<GetPage> getPages() {
    return routes;
  }

  static final routes = [
    GetPage(
      name: editWidgetPage,
      page: () => EditWidgetPage(),
      binding: EditWidgetBinding()
    ),
    GetPage(
        name: weatherPage,
        page: () => WeatherPage(),
        binding: WeatherBinding()
    ),
    GetPage(
        name: weatherLocationPage,
        page: () => WeatherLocationSwitchPage(),
        binding: WeatherLocationSwitchBinding()
    ),
    // 运动记录路由
    GetPage(
        name: exerciseRecordsPage,
        page: () => ExerciseRecordsPage(),
        binding: ExerciseRecordsBinding()
    ),
    // 心率路由
    GetPage(
        name: '/home/heartRate/records',
        page: () => HeartRatePage(),
        binding: HeartRateBinding()
    ),
    GetPage(
        name: '/home/spo2/records',
        page: () => Spo2Page(),
        binding: Spo2Binding()
    ),
    GetPage(
        name: stressRecordsPage,
        page: () => StressPage(),
        binding: StressBinding()
    ),
    GetPage(
        name: sleepPage,
        page: () => SleepPage(),
        binding: SleepBinding()
    ),
    GetPage(
        name: deepSleepPage,
        page: () => DeepSleepPage(),
    ),
    GetPage(
      name: durationSleepPage,
      page: () => DurationPage(),
    ),
    GetPage(
      name: lightSleepPage,
      page: () => LightSleepPage(),
    ),
    GetPage(
      name: remPage,
      page: () => REMPage(),
    ),
    GetPage(
      name: awakePage,
      page: () => AwakePage(),
    ),
    GetPage(
      name: napPage,
      page: () => NapPage(),
    ),
    GetPage(
        name: '/home/bloodPressure/records',
        page: () => BloodPressurePage(),
        binding: BloodPressureBinding()
    ),
    GetPage(
        name: '/home/bodyTemperature/records',
        page: () => BodyTemperaturePage(),
        binding: BodyTemperatureBinding()
    ),
    GetPage(
        name: '/home/fatigue/records',
        page: () => FatiguePage(),
        binding: FatigueBinding()
    ),
    GetPage(
        name: '/home/bloodGlucose/records',
        page: () => BloodGlucosePage(),
        binding: BloodGlucoseBinding()
    ),
    GetPage(
        name: '/home/met/records',
        page: () => MetPage(),
        binding: MetBinding()
    ),
    GetPage(
        name: cycleCalendarPage,
        page: () => CycleCalendarPage(),
    ),
    GetPage(
      name: cycleCalendarSettingPage,
      page: () => CycleCalendarSettingPage(),
    ),
  ];
}